6
תגובות
שלום,

כמו שרובכם יודעים, אני מתכנת מתחיל ב OOP,

עשיתי המון דברים יפים, טובים, ומקצועיים..
אך עכשיו נתקעתי בבעיה...
אני לא יודע איך להשתמש ב SQL של OOP, (MySqli).

כלומר, אני מנסה להכניס את הקוד הזה:
$mysqli = new mysqli("localhost", "root", "123456", "internet_database");
$result = $mysqli->query("SELECT * FROM my_costumer");


לתוך המחלקה function כאן:
<?php
include 'config.php';
include 'includes/emails.php';

class functions
{
  //site infos
  public $site = array('name'=>'Asite', 'salogan'=>'בניית אתרים', 'author'=>'אוטהור', 'description'=>'תאור', 'charset'=>'utf-8', 'lang'=>'he', 'email'=>'[email protected]', 'from'=>'[email protected]', 'phone'=>'080000000', 'maxh'=>'00:00', 'minh'=>'00:00', 'maxd'=>'א', 'mind'=>'ה');

  //site links
  public $links = array('sitecss'=>'SiteDesign/css/', 'sitejs'=>'SiteDesign/js/', 'siteimg'=>'SiteDesign/images/');
 
  //admin func
  public $admin = array('username'=>'username', 'password'=>'password');

  //get_tamplete_name  function
  function get_tamplete_name ($tamplete_name)
  {
    return 'includes/'.$tamplete_name.'.php';
  }

  //get_page_name  function
  function get_page_name ($tamplete_name)
  {
    return 'includes/pages/'.$tamplete_name.'/body.php';
  }
}
$functions = new functions();
?>



ובאתר, נהיה לי השגיאה הבאה:
Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in /home/a9016287/public_html/includes/functions.php on line 7



למה לעזאזל?!
אני לא יודע מה לעשות עם זה..

6 תשובות

avatar ענה ldbrgr ב 21 לינואר 2013 #

איך אתה מנסה להכניס את הקוד הנ"ל למחלקה?

avatar ענה ArielTador ב 21 לינואר 2013 #

תסביר את עצמיך..
תבין מה רציתי לעשות כאן:

אני רוצה לדעת, איך בתוך המחלקה הזו, לשלוף למשתנה Site, דברים מה SQL, איך אני יכול לשלוף במחלקה הזו?
תן לי דוגמא לקוד.. או משהו..

avatar ענה intval ב 21 לינואר 2013 #

functions.php

class functions
{

  private $database;
  private $sites;

  public function __construct(mysqli $database)
  {
    $this->database = $database;
  }


  //you other code
  // ....


  public function get_sites()
  {
    if(null === $this->sites)
      $this->load_sites_from_database();
   
    return $this->sites;
  }
 
  private function load_sites_from_database()
  {
    $result = $this->database->query("SELECT * FROM my_costumer");
   
    while($site = $result->fetch_assoc())
    {
      $this->sites[] = $site;
    }
  }
 
}


index.php
include 'config.php';
include 'includes/emails.php';
include 'functions.php';
$mysqli = new mysqli("localhost", "root", "123456", "internet_database");

$functions = new functions($mysqli);
print_r($functions->get_sites());

avatar ענה ArielTador ב 21 לינואר 2013 #

אלכס, אתה יכול להסביר בבקשה מה עשית כאן? אני רוצה להבין טיפה כדי לדעת SQL ב OOP, אפשר בבקשה?

avatar ענה intval ב 21 לינואר 2013 #

אני או מישהו אחר יכולים להסביר שורה שורה.
איזה שורה לא הבנת?
אין שום קשר בין OOP ל SQL והם לא משתנים פתאום למשהו אחר כשהם ביחד.

avatar ענה ArielTador ב 21 לינואר 2013 #

איפה העלמת לי את המשתנה Site ?
איפה העלמת לי את המשתנה Link ?
איפה כל הפונקציות שהיו?
אתה יכול לעשות לי קוד שיוציא לי מהטבלה Settings את כל המערכים שהיו לי ב Site ?
תזכור שהחיבור ל SQLi נמצא ב config.php.

(: